home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / batteryi / form1.frm (.txt) < prev    next >
Visual Basic Form  |  1999-06-18  |  7KB  |  219 lines

  1. VERSION 5.00
  2. Begin VB.Form frmBattery 
  3.    BorderStyle     =   1  'Fixed Single
  4.    Caption         =   "BatteryTest w/o the SysInfo.ocx"
  5.    ClientHeight    =   2415
  6.    ClientLeft      =   45
  7.    ClientTop       =   330
  8.    ClientWidth     =   4695
  9.    Icon            =   "Form1.frx":0000
  10.    LinkTopic       =   "Form1"
  11.    MaxButton       =   0   'False
  12.    MinButton       =   0   'False
  13.    ScaleHeight     =   2415
  14.    ScaleWidth      =   4695
  15.    StartUpPosition =   1  'CenterOwner
  16.    Begin VB.PictureBox Picture1 
  17.       BorderStyle     =   0  'None
  18.       Height          =   495
  19.       Left            =   2050
  20.       Picture         =   "Form1.frx":030A
  21.       ScaleHeight     =   495
  22.       ScaleWidth      =   495
  23.       TabIndex        =   10
  24.       Top             =   845
  25.       Width           =   495
  26.    End
  27.    Begin VB.Line Line1 
  28.       Index           =   6
  29.       X1              =   0
  30.       X2              =   4680
  31.       Y1              =   0
  32.       Y2              =   0
  33.    End
  34.    Begin VB.Line Line1 
  35.       Index           =   5
  36.       X1              =   2160
  37.       X2              =   4800
  38.       Y1              =   2400
  39.       Y2              =   2400
  40.    End
  41.    Begin VB.Line Line1 
  42.       Index           =   4
  43.       X1              =   0
  44.       X2              =   2640
  45.       Y1              =   2400
  46.       Y2              =   2400
  47.    End
  48.    Begin VB.Line Line1 
  49.       Index           =   3
  50.       X1              =   4680
  51.       X2              =   4680
  52.       Y1              =   0
  53.       Y2              =   2400
  54.    End
  55.    Begin VB.Line Line1 
  56.       Index           =   2
  57.       X1              =   0
  58.       X2              =   0
  59.       Y1              =   0
  60.       Y2              =   2400
  61.    End
  62.    Begin VB.Line Line1 
  63.       Index           =   1
  64.       X1              =   2640
  65.       X2              =   2640
  66.       Y1              =   0
  67.       Y2              =   2400
  68.    End
  69.    Begin VB.Line Line1 
  70.       Index           =   0
  71.       X1              =   2040
  72.       X2              =   2040
  73.       Y1              =   0
  74.       Y2              =   2400
  75.    End
  76.    Begin VB.Label Label10 
  77.       Caption         =   "BatteryFlag"
  78.       Height          =   255
  79.       Left            =   120
  80.       TabIndex        =   9
  81.       Top             =   2040
  82.       Width           =   1815
  83.    End
  84.    Begin VB.Label Label9 
  85.       Caption         =   "ACLineStatus"
  86.       Height          =   255
  87.       Left            =   120
  88.       TabIndex        =   8
  89.       Top             =   1560
  90.       Width           =   1815
  91.    End
  92.    Begin VB.Label Label8 
  93.       Caption         =   "BatteryFullLifeTime"
  94.       Height          =   255
  95.       Left            =   120
  96.       TabIndex        =   7
  97.       Top             =   1080
  98.       Width           =   1815
  99.    End
  100.    Begin VB.Label Label7 
  101.       Caption         =   "BatteryLifeTime"
  102.       Height          =   255
  103.       Left            =   120
  104.       TabIndex        =   6
  105.       Top             =   600
  106.       Width           =   1815
  107.    End
  108.    Begin VB.Label Label6 
  109.       Caption         =   "BatteryLifePercent"
  110.       Height          =   255
  111.       Left            =   120
  112.       TabIndex        =   5
  113.       Top             =   120
  114.       Width           =   1815
  115.    End
  116.    Begin VB.Label Label5 
  117.       Caption         =   "Label5"
  118.       Height          =   255
  119.       Left            =   2760
  120.       TabIndex        =   4
  121.       Top             =   2040
  122.       Width           =   1935
  123.    End
  124.    Begin VB.Label Label4 
  125.       Caption         =   "Label4"
  126.       Height          =   255
  127.       Left            =   2760
  128.       TabIndex        =   3
  129.       Top             =   1560
  130.       Width           =   1935
  131.    End
  132.    Begin VB.Label Label3 
  133.       Caption         =   "Label3"
  134.       Height          =   255
  135.       Left            =   2760
  136.       TabIndex        =   2
  137.       Top             =   1080
  138.       Width           =   1935
  139.    End
  140.    Begin VB.Label Label2 
  141.       Caption         =   "Label2"
  142.       Height          =   255
  143.       Left            =   2760
  144.       TabIndex        =   1
  145.       Top             =   600
  146.       Width           =   1935
  147.    End
  148.    Begin VB.Label Label1 
  149.       Caption         =   "Label1"
  150.       Height          =   255
  151.       Left            =   2760
  152.       TabIndex        =   0
  153.       Top             =   120
  154.       Width           =   1815
  155.    End
  156. Attribute VB_Name = "frmBattery"
  157. Attribute VB_GlobalNameSpace = False
  158. Attribute VB_Creatable = False
  159. Attribute VB_PredeclaredId = True
  160. Attribute VB_Exposed = False
  161. '------------------------------------------------------------
  162. ' SC Productions
  163. ' Name: RFN
  164. ' Company: SCP
  165. ' Purpose:To get information about the battery status
  166. '         with out having to use the SysInfo.ocx from MS
  167. ' Parameters: See Below
  168. ' Date: June,17 99
  169. '------------------------------------------------------------
  170. Option Explicit
  171. Private Declare Function GetSystemPowerStatus Lib "kernel32" (lpSystemPowerStatus As SYSTEM_POWER_STATUS) As Long
  172. Private Declare Function SetSystemPowerState Lib "kernel32" (ByVal fSuspend As Long, ByVal fForce As Long) As Long
  173. Private Type SYSTEM_POWER_STATUS
  174.     ACLineStatus As Byte 'Checks to see if your connected to the walloutlet or not
  175.     BatteryFlag As Byte 'Battery status
  176.     BatteryLifePercent As Byte 'precentage left
  177.     Reserved1 As Byte 'Dont use
  178.     BatteryLifeTime As Long 'Total time left of your battery
  179.     BatteryFullLifeTime As Long 'Total UPtime of your battery
  180. End Type
  181. Private SysPower As SYSTEM_POWER_STATUS
  182. 'End Declares
  183. Private Sub Form_Load()
  184.     'Property Get ACLineStatus() As Integer
  185.     'Returns a value that indicates whether or not the system is using AC power.
  186.     'Property Get BatteryFullLifeTime() As Long
  187.     'Returns a value that indicates the full charge life of the battery.
  188.     'Property Get BatteryLifePercent() As Integer
  189.     'Returns the percentage of full battery power remaining.
  190.     'Property Get BatteryLifeTime() As Long
  191.     'Returns a value that indicates the remaining life of the battery.
  192.     'Property Get BatteryFlag() As Integer
  193.     'Returns a value that indicates the status of the battery's charge.
  194.     GetSystemPowerStatus SysPower
  195.     Label1.Caption = Format$(SysPower.BatteryLifePercent / 100, "Percent")
  196.     Label2.Caption = Format$(Val(SysPower.BatteryLifeTime) * (1 / 3600), "##.0") & " Hours"
  197.     Label3.Caption = Format$(Val(SysPower.BatteryFullLifeTime) * (1 / 3600), "##.0")
  198.     'Label4.Caption = SysPower.ACLineStatus
  199.     If SysPower.ACLineStatus = 0 Then
  200.         Label4.Caption = "NON AC POWER"
  201.     ElseIf SysPower.ACLineStatus = 1 Then
  202.         Label4.Caption = "AC POWER"
  203.     ElseIf SysPower.ACLineStatus = 2 Then
  204.         Label4.Caption = "UNKNOWN AC POWER"
  205.     End If
  206.     'Label5.Caption = SysPower.BatteryFlag
  207.     If SysPower.BatteryFlag = 1 Then
  208.         Label5.Caption = "HIGH"
  209.     ElseIf SysPower.BatteryFlag = 2 Then
  210.         Label5.Caption = "LOW"
  211.     ElseIf SysPower.BatteryFlag = 4 Then
  212.         Label5.Caption = "CRITICAL"
  213.     ElseIf SysPower.BatteryFlag = 128 Then
  214.         Label5.Caption = "NO BATTERY"
  215.     ElseIf SysPower.BatteryFlag = 255 Then
  216.         Label5.Caption = "UNKNOWN"
  217.     End If
  218. End Sub
  219.